This invention generally relates to the labeling of IP data units, and is particularly concerned with providing a domain field label for use in domain switching applications.
Domain switching is a label method of switching data packets, such as Internet Protocol Version 4 (IPv4) packets based on Domain Numbers. Domain switching is designed to allow simple, fast route lookups and quick forwarding, minimizing intra-switch latency and increasing throughput. When Domain switching was created, a method of xe2x80x98markingxe2x80x99 user packets (or data units) was needed to convey Domain and Priority values. Marking is the application of system information to IP packets. The method of marking used in Domain switching applications had to be fast, scalable, and simple to implement for it to be useful. In Domain switching, marking packets is essential to track the networks that the packets are supposed to be on and the preference afforded to the packet. A simple method of doing this is to insert the required data into the middle of packets, typically in the region where the data itself resides, in the form of a secondary header. This method, though simple in concept, increases the processing overhead and reduces the bandwidth available for data transmission.
Domain switching is used in both datagram transport, where packets are sent sequentially and can follow any path between the source and destination nodes, and virtual circuit communications where all packets follow a designated path between source and destination nodes to ensure in order delivery of data. In reference to datagram transport methods it is common to use the terms datagram and packet interchangeably.
In the past, additional protocol headers or trailers have been needed to carry this important internal information. An additional header means that only devices that support the header protocol can interact with the header. Implementation of the link layer 2 of the standard Open System Interconnection (OSI) architectural model is complicated by the presence of an xe2x80x98unknownxe2x80x99 header immediately following the OSI link layer (e.g., ATM, Frame Relay, PPP, Ethernet, etc.) and LLC/Type headers. The header protocol could be made public and turned into an industrial standard, but there is no guarantee that a particular vendor will implement it. This was the challenge to pioneers of IP switching, TAG switching, Multi-Protocol Label switching (MPLS), etc.
Additional headers also add to the total amount of protocol overhead, which in turn consumes valuable access network bandwidth. They also add an extra layer of abstraction to the OSI architectural model, limiting implementation choices and increasing forwarding inefficiencies. At both the endpoints and forwarding points, additional headers require specialized protocol handlers to interpret the header contents.
The IP protocol was created in the late 1960s and incorporated the conventional wisdom of that era. The current IP Version 4 standard, Request For Comments (RFC) 791, was ratified in 1981, and until recently, the construct of the header and the purpose of the fields were considered sacred and untouchable. The Differentiated Services (Diff-Serv) Architecture changed all that. The Type-of-Service (ToS) field, after more than a decade of spotty implementation and relative neglect, has recently been changed to the Diff-Serv field and is designed to request Quality-of-Service (QoS) levels within IP networks.
In some ways there are technologies in the art today that can serve to remedy some of the problems posed by marking packets for Domain switching. The primary candidate is MPLS, the related IP switching or TAG switching. MPLS is one of the industry""s favoured approaches, because it allows the IP packets to be xe2x80x98switchedxe2x80x99 at a higher rate than routing. It was designed for the high throughput requirements of the network core or backbone because routing is having difficulty keeping up to the growing demands. The MPLS industry is coming along, but the standards and products are neither mature nor stable. MPLS is an evolution of IP switching, TAG switching, Flow switching in IPv6, and Label swapping. Each of these methods affixes a small header called a label onto the IP datagram and forwarding is based on the label rather than on the destination UP address. Labels are retained while the packet is inside the MPLS network and removed as it leaves. Labels can be swapped at each hop similar to the way ATM headers are removed and added by each ATM switch in the path.
Nevertheless, MPLS was not designed to work in a point-to-multipoint configuration as is required for many Domain switching situations. Each head-end of a domain network could have a single head end with the possibility of an excess of 1000 front ends (i.e. users). Each front end would need its own MPLS label or session. This is not the intended purpose of MPLS.
U.S. Pat. No. 5,546,387 attempts to provide a solution to efficient packet labeling in the form of a hardware switch that allows efficient use of the memory space available for storing a label list at ingress and egress points.
This method does not provide protection to labeled packets if they are inadvertently delivered to the wrong network, as they can still be read by the various nodes in the foreign network. In addition, it requires that the ingress and egress switching nodes utilize a look up table based on the packet labels so that routing can be simplified. This may not be practical at congested switches, as the memory requirements would balloon with increases in the size of the foreign network, or networks, which would render conventional switches incapable of storing a full list.
U.S. Pat. No. 4,651,318 enables packet labeling through the use of stage identifier fields, which are embedded in the data field of a packet. Though effective, this approach does not efficiently use resources as it will result in the introduction of more data packets so that the data can be transmitted.
There is therefore a need for an improved labeling method to meet the requirements of Domain switching without suffering from the problems outlined above.
For reading convenience, the following is a glossary of abbreviations used throughout the specification.
It is an object of this invention to provide an improved system and method of labeling data units with a domain field that is relatively fast, scalable, and simple to implement for domain switching applications. It is another object of this invention to provide a labeling method which will not add to the total amount of protocol overhead. It is yet another object of this invention to provide a system and method of labeling which is suitable for point-to-multipoint configurations.
In accordance with the first object of the invention there is provided an Embedded Label Protocol (ELP) method of labeling a data unit having a header comprising the steps of generating a domain information sequence having a pre-selected domain length, for use in forwarding the data unit within an access network; identifying at least one first field in the header, that is assigned to carry a first information sequence useable only outside the access network, and which has a length equal to at least the domain length; and overwriting the domain information sequence into the at least one first field, upon ingress of the data unit into the access network. An aspect of the current object of the invention is an ELP method, as described above, where the domain information sequence contains a domain number that may be at least 12 bits long. Another aspect of the current object of the invention is an ELP method, as described above wherein one of the domain information sequences contains a domain number, which may be at least 12-bits long. Another aspect of the current object of the invention is an ELP method where in one of the domain number, as described above, defines a service provider domain, and the remaining values of the domain number define customer domains. Yet another aspect of the current invention is an ELP method wherein the domain information sequence, as described above, further contains a flow direction indicator. A further aspect of the current invention is an ELP method wherein the flow direction indicator, as described earlier, is at least 1-bit long to provide a distinction between downstream and upstream flows within the access network, and where optionally the domain number is used in upstream forwarding of the data unit. Another aspect of the current invention is an ELP method, as described earlier, wherein the domain information sequence further contains a priority indicator, which optionally identifies one of at least four quality of service levels, and which optionally is 4-bit long. Another aspect of the current object of the invention is an ELP method, as described earlier, further comprising the step of restoring the first information sequence into the at least one first field, upon egress of the data unit from the access network. Another aspect of the current invention is an ELP method as described earlier, wherein the at least one first field is designated by Internet Protocol as a header checksum field. Another aspect of the current invention is an ELP method as described earlier, further comprising the steps of identifying a second field in the header, that is assigned to carry a second information sequence useable only outside the access network; and overwriting the second field with a marker for distinguishing the data unit as being labeled, and optionally further comprising the step of restoring the second information sequence into the second first field, upon egress of the data unit from the access network. Another aspect of the current invention is an ELP method as described above wherein the second field is designated by Internet Protocol as a version filed, which optionally has a value of 4, and the marker has a value of zero.
A second object of the current invention is a switching system for forwarding data units to and from the access network by using the ELP method defined in any one of the aspects of the object described above.
A third object of the current invention is a switching system, comprising at least one first component for linking an IP data network to the access network, and at least one second component for linking the access network to a group of user devices interconnected by a local network, wherein each of the at least one first and second components uses the ELP method defined in the first object of the invention. An aspect of this object of the invention is a switching system as described earlier, wherein the at least one first component includes a first IP interface for connection to the IP data network and at least one first ELP interface for connection to the access network. Another aspect of this object of the invention is a switching system as above, wherein the at least one first component is a plurality of first components, and the at least one first ELP interface includes a plurality for linking together said plurality of first components. A further aspect of the current invention is a switching system as described above, wherein the second component includes a second ELP interface for connection to the access network and a second IP interface for connection to the local network.
This invention provides an Embedded Labeling Protocol (ELP) for an access network where traffic from a large number (e.g. 1000""s) of customers flow from a primary head end (for example, an ISP or corporate Headquarters) to multiple front-ends. It provides the simple fast lookups needed to achieve high throughputs while retaining a simplicity that makes the engineering and maintenance of the system easier to perform.
Embedded Labeling Protocol (ELP) is a method of labeling IP Packets while they are within an ELP access network using different fields in the standard IP Header in an unconventional manner so as to provide additional features without substantially increasing either computational demands or the size of a packet. ELP adds no protocol overhead and both the packet labeling process on ingress and the packet restoration process at egress are computationally simple.